【python+selenium的WebElement对象操作】教程文章相关的互联网学习教程文章

python – 使用Selenium和Firefox版本40,我如何下载文件?【代码】

通过Selenium下载文件的旧方法似乎不再起作用. 我的代码是:fp = webdriver.FirefoxProfile()fp.set_preference("browser.download.dir", os.getcwd())fp.set_preference("browser.download.folderList", 2)fp.set_preference("browser.download.manager.showWhenStarting", False)fp.set_preference("browser.helperApps.neverAsk.saveToDisk","application/pdf")self.driver = webdriver.Firefox(firefox_profile=fp)self.longMe...

如何为python / selenium中的特定元素断言文本?【代码】

有没有办法断言特定元素中没有文字?我正在尝试测试一个登录页面,当您输入无效的登录信息并想要测试一开始没有文本时,会弹出一条错误消息. 这是页面加载时首次显示的HTML元素:<div class="message ng-binding”/>然后在输入无效信息时更改为:<div class="message ng-binding">Your email address or password is invalid.</div>我试过这样做:elem = browser.find_element_by_css_selector("div.message.ng-binding") self.asser...

使用Python中的Selenium登录gmail【代码】

我正在尝试使用Selenium登录gmail.在新的Gmail登录中,首先键入您的电子邮件ID,然后在您输入密码的位置输入下一页.电子邮件页面和密码页面的URL都不同.所以,当我在driver.get中传递密码URL时,它正在重新加载页面,如果刷新URL而不输入密码,它会重定向到电子邮件页面.因此,它缺少密码字段选择器. current_url仍然是以前的url,即电子邮件页面的url.这是我的代码.我正在使用chrome驱动程序和python 2.X.import os from selenium import ...

python3.6+selenium操作JavaScript弹窗【图】

self.driver.switch_to_alert()做弹窗处理的时候,杯摒弃掉了,但是不影响使用,但是看见报错依旧不舒服,于是寻找一些方法终于解决了这个问题,希望有所帮助 被测网页如下:代码如下: import unittest from selenium.common.exceptions import NoAlertPresentException import time from selenium import webdriver class MyTestCase(unittest.TestCase): def setUp(self): self.driver = webdriver.Firefox(executable_path=‘...

python – Selenium下载整个HTML【代码】

我一直在尝试使用硒来刮擦整个网页.我希望它们中至少有一小部分是水疗中心,如Angular,React,Vue,所以这就是我使用Selenium的原因. 我需要下载整个页面(如果某些内容没有从延迟加载加载,因为没有向下滚动,这很好).我试过设置time.sleep()延迟,但是没有用.在我得到页面之后,我希望将其哈希并将其存储在数据库中以便稍后进行比较,并检查内容是否已更改.目前,散列每次都不同,这是因为每次缺少不同的部分数量时,selenium不会下载整个页面...

python – 使用Selenium webdriver与自定义firefox配置文件 – 如何摆脱插件弹出窗口【代码】

当我使用selenium webdriver和自定义的firefox配置文件时,我会弹出firefox Add-ons弹出显示2个扩展名:Firefx WebDriver 2.5.0和Ubuntu Firefox Modifications 0.9rc2. 我该怎么摆脱这个弹出窗口?我查看服务器jar,看看我是否能找到扩展,没有运气.在网上查看扩展,没有运气.当我在不使用自定义配置文件的情况下运行代码时,没有弹出窗口.解决方法:您需要在配置文件的首选项中添加名为extensions.newAddons的条目,并将值设置为false. ...

python – 单击链接时停止打开新窗口的selenium【代码】

我将我的selenium测试导出到python并使用shell运行测试.我到达某个点,我点击一个链接,然后网络驱动程序打开一个全新的Firefox窗口然后我收到一个错误,说驱动程序无法在页面上找到输入选项.我认为问题在于,当它打开新窗口时,驱动程序没有在新窗口上运行,这就是它无法找到输入选项的原因.如何让脚本保持在同一窗口或将其焦点切换到新窗口? 谢谢!解决方法:我不知道如何在python中做到这一点,但应该有一个函数来切换到一个新窗口. 在...

Selenium Webdriver Python-页面加载不完整/有时冻结刷新【代码】

我正在使用在调用页面时生成的大量javascript来抓取一个网站.因此,传统的网络抓取方法(beautifulsoup等)不能用于我的目的(至少我没有成功地让它们工作,所有重要数据都在javascript部分).结果我开始使用selenium webdriver.我需要刮几百页,每页有10到80个数据点(每个有大约12个字段),所以重要的是这个脚本(正确的术语吗?)可以运行很长一段时间没有我照顾它. 我的代码适用于单个页面,我有一个控制部分,告诉抓取部分要抓取哪个页面.问...

python – 从Selenium的url下载CSV?【代码】

我有一个我想定期下载的URL.它只能从需要javascript支持的登录帐户访问,所以我被迫使用Selenium和PhantomJS,相信我.否则,我会使用urllib,但它给我一个错误的迹象. 它是一个CSV文件,最多1000行,大约6列. 我想最终将此CSV列入列表.有谁知道如何使用Selenium Webdriver下载CSV? 非常感谢. 编辑:我只是想从Selenium的URL下载CSV.没有其他的.解决方法:它实际上非常简单.使用另一个答案,我在堆栈中给出了流量 https://stackoverflow.co...

Selenium打开弹出窗口[Python]【代码】

我想通过以下方式点击链接:driver.find_element_by_css_selector("a[href='javascript:openhistory('AXS0077')']").click()如果链接在新窗口中打开,这很好用,但在这种情况下,链接实际上会打开一个弹出窗口.当我尝试使用此方法单击链接时,使用selenium会给出错误:Message: u”The given selectora[href=’javascript:openhistory(‘AXS0077′)’] is either invalid or doesnot result in a WebElement. The following erroroccur...

[Python 应用: 爬虫] Selenium 定位元素方法【代码】【图】

本文内容摘自:https://selenium-python.readthedocs.io/locating-elements.html 定位元素有很多种方式,你可以选择适合你使用情况的。Selenium 提供如下几种定位元素的方式:find_element_by_id find_element_by_name find_element_by_xpath find_element_by_link_text find_element_by_partial_link_text find_element_by_tag_name find_element_by_class_name find_element_by_css_selector上述定位方式只定位页面中的拥有同样类...

selenium – python – 识别可疑的网络钓鱼站点【代码】

我正在尝试运行可以识别可疑网络钓鱼站点的代码(在Python中).我正在使用Selenium的chromedriver.这是我的代码:import os, os.path, sys from selenium import webdriver from selenium.webdriver.chrome.options import Optionschrome_options = Options() chrome_options.add_experimental_option( "prefs", {'safebrowsing.enabled':1})chromedriver = "my chromedriver path" os.environ["webdriver.chrome.driver"] = chromed...

如何在当前窗口会话中运行selenium python脚本?【代码】

当我编写selenium python脚本时,我必须使用某些命令启动会话driver = webdriver.Firefox()但是,这会打开一个新的浏览器窗口. 我想要的是让脚本访问已经打开的窗口,就像我启动了selenium IDE附加组件(它不能运行python脚本afaik)一样. 有人可以告诉我是否有办法做到这一点?解决方法:我自己经常想用Selenium和Python这个功能.不幸的是,它不是Selenium当前功能的一部分. 有关更多信息,请查看答案主题: Can Selenium interact with a...

在python中使用Selenium使用ng-model定位元素【代码】

我试图在python中使用Selenium自动化AngularJS应用程序.我试图用ng-modal找到一个元素.我看过一些与Java相关的帖子,它指定你可以使用以下语句"//input[@ng-model='yourName']"我想在python中做同样的事情(By.XPATH, "//*/select[@ng-model='yourName']")但我无法找到该元素.我错过了什么,或者还有其他方法吗?解决方法:因为,这是一个Angular应用程序而python-selenium本身并没有等待Angular“安定下来”(例如,protractor或pytracto...

python爬虫Day2:selenium基本使用

# web驱动 from selenium import webdriver from selenium.webdriver import ActionChains # 破解滑动验证码的时候用的 可以拖动图片 from selenium.webdriver.common.by import By # 按照什么方式查找,By.ID,By.CSS_SELECTOR from selenium.webdriver.common.keys import Keys # 键盘按键操作 from selenium.webdriver.support import expected_conditions as EC # 和下面WebDriverWait一起用的 from selenium.webdriver.support...