1、python slenium 出现Could not find a version that satisfies
ERROR: Could not find a version that satisfies the requirement selenium (from versions: none)
ERROR: No matching distribution found for selenium
方法1:增大超时时间
pip --default-timeout=100 install selenium
方法2:修改安装源为清华安装源
pip install --index https://mirrors.ustc.edu.cn/pypi/web/simple/ selenium
方法3:修改安装位置,同时改变安装源
pip install --target=C:\Liang\PycharmProjects\\venv\Lib\site-packages --index https://mirrors.ustc.edu.cn
/pypi/web/simple/ pymysql
2、python鼠标悬停
from selenium import webdriver
browser = webdriver.Chrome()
ActionChains(browser).move_to_element(btn).perform()
3、当出现新窗口时,需要控制新的窗口,需要先添加以下两行代码:
cls = driver.window_handles
driver.switch_to.window(cls[1])
cls的索引1表示的是打开的网页句柄数,原始网页为0,新打开的网页为1
三个网页,句柄为0,2,1
五个网页,为0,4,3,2,1
新开网页为1,原始网页为0,其他据打开的倒序排列。
4、关闭网页:
driver.close()和driver.quit()
driver.close()是关闭当前网页,但是当只有一个网页的话,就是关闭浏览器。
driver.quit()是关闭整个浏览器。
5、selenium点击的元素被遮挡
第一步:使用selenium获取操作对象
第二步:接用selenium支持的JS脚本方法点击,‘arguments[0].click()’
zbxx = driver.find_element(By.XPATH, '//div[(text()="坐标信息")]')
#使用JS脚本来点击,能解决需要点击的要素被遮挡无法点击的情况。
driver.execute_script('arguments[0].click()', zbxx)
6、browser.find_element/browser.find_elements 区别
browser.find_element(by=By.CLASS_NAME, value='next-page')
browser.find_elements(by=By.CLASS_NAME, value='next-page')[0]
7、selenuim web窗口设置
browser.execute_script("window.scrollTo(0,1000)")
browser.set_window_size(1902, 1080)
8、selenuim 数组传值
webelement
方法一:
feed = {}
feed['time'] = browser.find_elements(by=By.ID, value='myword')[0].text
feed['content'] = browser.find_elements(by=By.ID, value='myword')[0].text
for image in browser.find_elements(by=By.ID, value='myword')[0].img:
feed['image'].append(image)
feed.append(feed)
方法二:
feed = {'time': browser.find_elements(by=By.ID, value='myword')[0].text,
'content': browser.find_elements(by=By.ID, value='myword')[0].text}