我有一个朋友编写的 Python 代码,几周前它实际上运行得很好,但现在却引起了一些问题。该代码从 csv 文件获取谷歌图像搜索链接,并使用 Selenium Webdriver (Chrome),返回搜索页面上第一张图像的链接。
导致此错误的原因可能是什么?(NameError:名称“WebDriverWait”未定义)
感谢!
我收到无法解析符号“ExtentHtmlReporter”消息
com.aventstack.extentreports.reporter.ExtentHtmlReporter;
Run Code Online (Sandbox Code Playgroud)
我添加了以下依赖项,并且能够成功导入以下导入。
import com.aventstack.extentreports.ExtentTest;
import com.aventstack.extentreports.Status;
import com.aventstack.extentreports.reporter.configuration.Theme;
Run Code Online (Sandbox Code Playgroud)
然而,下面的导入没有列出。
import com.aventstack.extentreports.reporter.ExtentHtmlReporter;
<!-- https://mvnrepository.com/artifact/com.aventstack/extentreports -->
<dependency>
<groupId>com.aventstack</groupId>
<artifactId>extentreports</artifactId>
<version>5.0.6</version>
</dependency
Run Code Online (Sandbox Code Playgroud)
尝试更新我的代码以使用"driver.find_element(By.XPATH..."而不是"driver.find_elements_by_xpath(...",但当我发送密钥时,我不断收到以下错误:
selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
driver = webdriver.Chrome(PATH)
link_login = "https://www.wyzant.com/tutor/jobs"
driver.get(link_login)
username_input = driver.find_element(By.XPATH, "//*[@id='Username']")[1]
username_input.send_keys("Test")
Run Code Online (Sandbox Code Playgroud) 我在 selenium webdriver 中使用 CSS 选择器。
假设我有一个如下所示的 DOM:
<div class="test">
<a class="example"> Comet </a>
</div>
<div class="test">
<a class="example"> Asteroid </a>
</div>
<div class="test">
<a class="example"> Planet </a>
</div>
Run Code Online (Sandbox Code Playgroud)
假设我想将标签与“Asteroid”相匹配。如果我使用 CSS 选择器,我可以这样做:div.test > a.example
唯一的问题是这将匹配所有三个。使用 xpath,我可以执行如下操作:(//div/a[@class='example'])[2]这将告诉它选择第二个匹配元素。
有没有办法使用 CSS 选择器来做同样的事情?只需选择第二个或第三个匹配元素?我尝试过:nth-child(),但这似乎只适用于指定节点的子节点,并且似乎不像我给出的 xpath 示例那样工作,或者也许我做错了。