以前qyqt和selenium用来开发一个自动化测试工具,现在回忆一下已经过了将近6年。
DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element()
例如:find_element_by_xpath改为web.find_element(By.XPATH
from selenium.webdriver.common.by import By
find_element(By.ID,"id") 等价于 find_element_by_id -->根据id属性定位
find_element(By.XPATH,"//div[@name='csdn']") 等价于
find_element_by_xpath -->根据XPATH路径来定位
find_element(By.LINK_TEXT,"text") 等价于 findfind_element_by_link_text
-->根据超链接标签匹配(精准匹配,匹配a标签的全部文本内容。)
find_element(By.PARTIAL_LINK,"partialtext") 等价于 find_element_by_partial_link_text -->根据超链接标签匹配(非精准匹配,匹配a标签的部分文本内容。)
find_element(By.ID,"name") 等价于 find_element_by_name -->根据name属性定位
find_element(By.TAG_NAME,"input") 等价于 find_element_by_tag_name -->根据标签名定位,例如input标签
find_element(By.CLASS_NAME,"classname") 等价于 find_element_by_class_name -->根据类名属性定位find_element(By.CSS,"#id") 等价于 find_element_by_css_selector -->根据css选择器名字定位
Message: 'geckodriver' executable needs to be in PATH
from selenium.webdriver.firefox.service import Service
s = Service("geckodriver.exe")
driver = webdriver.Firefox(service=s)
selenium.webdriver' has no attribute 'current_url'
用声明出来的driver来使用属性
保存图片
driver.find_element_by_xpath('//body/img[1]').screenshot("a.jpg")
screenshot_as_jpg()