这个问题已经在这里有了答案 :
使用Python在Selenium
WebDriver中获取WebElement的HTML源代码
(15个答案)
6年前关闭。
我正在使用Selenium进行网络爬网,我想在Selenium模拟点击假链接后获得由JavaScript编写的元素(例如链接)。
我尝试了get_html_source(),但其中不包含JavaScript编写的内容。
我写的代码:
def test_comment_url_fetch(self):
sel = self.selenium
sel.open("/rmrb")
url = sel.get_location()
#print url
if url.startswith('http://login'):
sel.open("/rmrb")
i = 1
while True:
try:
if i == 1:
sel.click("//div[@class='WB_feed_type SW_fun S_line2']/div/div/div[3]/div/a[4]")
print "click"
else:
XPath = "//div[@class='WB_feed_type SW_fun S_line2'][%d]/div/div/div[3]/div/a[4]"%i
sel.click(XPath)
print "click"
except Exception, e:
print e
break
i += 1
html = sel.get_html_source()
html_file = open("tmp\\foo.html", 'w')
html_file.write(html.encode('utf-8'))
html_file.close()
我使用while循环单击一系列伪造的链接,这些伪造的链接触发js动作以显示额外的内容,而该内容正是我想要的。但是sel.get_html_source()没有提供我想要的东西。
有人可以帮忙吗?非常感谢。
由于我通常在获取的节点上进行后处理,因此我直接在浏览器中使用运行JavaScript execute_script
。例如,获取所有a-tag:
js_code = "return document.getElementsByTagName('a')"
your_elements = sel.execute_script(js_code)
编辑:execute_script
和get_eval
是等效的,除了get_eval
执行隐式返回,execute_script
必须明确声明它。
问题内容: 我正在使用Selenium进行网络爬网,我想在Selenium模拟点击假链接后获得由JavaScript编写的元素(例如链接)。 我尝试了get_html_source(),但其中不包含JavaScript编写的内容。 我写的代码: 我使用while循环单击一系列伪造的链接,这些伪造的链接触发js操作以显示额外的内容,而该内容正是我想要的。但是sel.get_html_source()
我有上面的编码来提取使用硒 - 蟒蛇的href链接。我想提取每个人的个人资料“董事会成员”中的内容。我知道如何逐个提取它们,但不知道如何编写循环来执行此操作。 以下是我的代码: 任何想法都很感谢!
我的GUI中有一个显示连接状态的显示按钮(带绿色检查的按钮表示连接已建立,带红色表示没有连接)我必须使用我的代码检查状态。我正在解析该特定标题栏类名(容器流体)的内容。由此,我正在解析该显示按钮的显式内容。 在此之后,我解析该按钮的一些显式内容,并确定连接是否存在。 但是如果我使用class="powerOn icon-ok-sign ",我会得到错误: 不允许使用复合类名
问题内容: 我已经使用iText将表格内容导出为pdf。 这是我的代码: JSP: Servlet: 用过itextpdf-5.1.0.jar这是我的JSP页面。 从jsp获取字符串时, 我得到的内容与表td tr…相同,而不是实际值。 有什么帮助吗? 问题答案: 请看一下示例ParseHtmlTable1和ParseHtmlTable2。 他们创建以下PDF:html_table_1.pdf 和
在node环境中,使用request爬取一个网页时,响应的body编码异常? 代码如下: 浏览器中的响应: 实际打印结果: 实际打印部分内容:�z<[��zml�1;��g���J��4�~b��J��6^M=i���F}�\�e�ž�������������e�Lc�1Ӟ��M�ή�ׅFm:�=^㱩ZkG��l/L�T⏃���ͱ&�=,0���sc��������B}do��ŅFs�ze�9^
问题内容: 我在一个网页上运行查询,然后得到结果URL。如果右键单击查看html源代码,则可以看到JS生成的html代码。如果我仅使用urllib,则python无法获取JS代码。所以我看到了一些使用硒的解决方案。这是我的代码: 这是我在右键单击窗口中需要的源代码,(我需要信息部分) 问题答案: 您将需要通过使用硒功能来获取文档 这将使所有内容都进入标签内