Selenium-WebDriver提供WebDriver API,用于控制不同编程语言的浏览器(“语言绑定”)。使用此标记时,还要为正在使用的编程语言添加标记。
尝试获取阴影元素的属性,但得到 ElementNotVisibleException Element with CSS input[type='checkbox'] is not present on screen 尝试获取阴影元素的属性但得到ElementNotVisibleException Element with CSS input[type='checkbox'] is not present on screen <checkbox _ngcontent-ebv-c14="" label="User Access" ng-version="8.0.3" class="ng-star-inserted"> #shadow-root(open) <label> <input type="checkbox" name="" value="true"> <span class="checkmark"></span> <!----> <span class="label">User Access</span> </label> </checkbox> 使用Selenium获取元素属性 WebElement parentElement = webdriver.findElement(By.xpath("//checkbox[@label='User Access']")); webdriver.getShadowElement(parentElement,"input[type='checkbox']").getAttribute("value").contains("true"); 我错过了什么吗? 我这样解决我的问题 public class test { WebDriver driver; public WebElement maximizerootelement(WebElement retelement) { WebElement ele = (WebElement) ((JavascriptExecutor) driver) .executeScript("return arguments[0].shadowRoot",retelement); return retelement; } @Test public void mytest() { driver.get("https://yourlin"); WebElement root1 = driver.findElement(By.tagName("//checkbox[@label='User Access']")); WebElement shadowRoot = maximizerootelement(root1); String actualHeading = shadowRoot.findElement(By.cssSelector("input[type='checkbox']")).getText(); Assert.assertEquals("true", actualHeading); } } 使用 javascript 执行器,您需要扩展元素以对元素执行操作 我能够通过以下步骤解决此问题: 从 DOM 元素复制 js 路径(转到检查窗口 -> 右键单击元素 -> 单击复制 -> 单击复制 jspath) 使用 javascript 执行器找到元素,将其转换为 webelement,然后执行所需的操作 WebElement ele = (IWebElement)executor.ExecuteScript("return 在此处粘贴你的 jspath"); ele.Click();
与下拉列表交互并选择 - Selenium 和 Python
我想更改 komoot.com/discover 上的下拉菜单以使用 selenium 和 python 选择特定的运动,但我似乎无法与之交互。也没有真正理解这个elem的源代码...
\ \<div class="css-1dbjc4n r-19m6qjp r-z2wwpe r-1loqt21 r-1x0uki6 r-1e081e0 r-1f1sjgu r-ah5dr5 r-1otgn73" data-focusable="true" tabindex="0" data-testid="login-submit-btn"\>\<div class="css-76zvg2 r-jwli3a r-n6v787 r-1kfrs79 r-q4m81j" dir="auto" style="font-family: inherit;"\>Log In\</div\>\<div class="css-1dbjc4n r-1niwhzg r-1p0dtai r-1d2f490 r-1udh08x r-u8s1d r-zchlnj r-ipm5af" style="border-radius: 0px;"\>\</div\>\</div\> \<div class="css-76zvg2 r-jwli3a r-n6v787 r-1kfrs79 r-q4m81j" dir="auto" style="font-family: inherit;"\>Log In\</div\> \<div class="css-1dbjc4n r-1niwhzg r-1p0dtai r-1d2f490 r-1udh08x r-u8s1d r-zchlnj r-ipm5af" style="border-radius: 0px;"\>\</div\> 上面的代码用于此登录按钮,我需要 xpath 才能单击此特定按钮 driver.findElement(By.xpath( "//div[@class='css-1dbjc4n r-19m6qjp r-z2wwpe r-1loqt21 r-1x0uki6 r-1e081e0 r-1f1sjgu r-ah5dr5 r-1otgn73']//div[@dir='auto'")) .click(); 使用以下代码点击LOGIN按钮: driver.findElement(By.xpath("//div[@data-testid='login-cta']")).click(); 完整代码供您参考: driver.get("https://www.spicejet.com/"); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10)); // Below line clicks the first login button driver.findElement(By.xpath("//div[text()='Login']")).click(); // below line clicks the second LOGIN button driver.findElement(By.xpath("//div[@data-testid='login-cta']")).click();
仍然支持 getPageSource().contains 吗
使用Selenium和Javascript,尝试使用命令 if(driver.getPageSource().contains("是的!")) 看看是否可以!位于页面上的任何位置,但它告诉我该命令不支持...
在提供此定位器时 driver.get("https://ivtripadmindev.azurewebsites.net/login"); driver.findElement(By.xpath("//*[@id=\"root\"]/div[2]/div/div/div/div[2]/form/div[1]...
在哪里可以找到与 selenium 一起使用的最新 chrome 驱动程序
我正在寻找源或方法来查找最新的 chrome 驱动程序,以便使我的项目使用 selenium 工作。 我尝试按照 Visual Studio Code 提供的链接进行操作,但是我最好的...
无法使用 Selenium Python 单击 Google Trends 网站中的“探索”文本
为了我当前项目的目的,我需要获取过去 30 天、过去 12 个月的 Google 趋势数据。我可以使用 Google Trends API 获取每日数据。该软件包还有另一个 API ca...
在开发浏览器中使用 Buster:使用 Selenium 扩展 Captcha Solver for Humans 来解决问题
我在使用 Buster: Captcha Solver for Humans 扩展以及 Selenium 和 Python 时遇到了困难。在开发浏览器中访问站点时,不显示扩展程序,
我正在尝试使用 Selenium 进行网页抓取,我想从 Google 下载图像,但我有多个问题: 我遇到了这个问题 AttributeError: 'list' object has no attribute 'timeout'。 我...
如何获取仅指示网站 url 的 Web 套接字 (WS) 选项卡数据?
我想输入一个具有多个该类型子网址(www.google.com/123或www.google.com/3212)的网站,每当我输入每个子网址时,websocket请求网址都是不同的,这是第一个...
从selenium(java)中的div列表中获取所有div对象
我试图使用下面的xpath获取所有元素的列表,但总是得到1作为大小。当我尝试 class,xpath 所有选项时,不确定我在这里做错了什么。我的目标是搜索后我们得到
使用本网站: (https://buyee.jp/mercari/search?keyword=seiko%20S-212&status=on_sale) 或查看下面的 html: 包含感兴趣元素的 HTML 我正在尝试找到具有以下值的元素:...
使用本网站: (https://buyee.jp/mercari/search?keyword=seiko%20S-212&status=on_sale) 或查看下面的 html: 包含感兴趣元素的 HTML 我正在尝试找到具有以下值的元素:...
我正在尝试编写一个函数,它从 html 的任何嵌套级别返回一个元素列表,其中文本中包含单词“products”,不区分大小写。 这是我的功能: 定义
尝试在 Python 中将“find_element_by_class_name”与 Selenium 一起使用时出现 AttributeError
我正在尝试创建一个工具,使用 Selenium WebDriver 自动键入网页上特定类的每个字母。但是,我遇到了一个错误: AttributeError:“WebDriver”对象没有
我正在尝试从这个网站上删除一张桌子作为练习 - https://stats.paj.gr.jp/en/pub/current_en_n2.html 这里的问题是,我无法打印完整的表格。这仅返回来自...的 1 个单元格
我尝试通过 Selenium 抓取这个网站。 我想单击“下一页”按钮,为此我这样做: driver.find_element_by_class_name('pagination-r').click() 它适用于许多页面,但不适用于...
使用 close window 关键字关闭弹出窗口后,我无法选择主父窗口。我尝试等待关键字成功,但仍然遇到同样的问题。 此问题发生在
下面是与我要单击的元素相对应的 HTML: 检查全部 下面是与我要单击的元素相对应的 HTML: <TD vAlign=top width="10%"><A onclick=TestCheck() href="javascript:">CheckAll</A></TD> 下面的代码对我不起作用,请提供工作xpath @FindBy(xpath="//a\[contains(@onclick, 'CheckAll')\]") WebElement CheckAll; CheckAll.click(); xpath="//a\[contains(@onclick, 'CheckAll')\]" 上面的 XPath 表达式不正确,因为属性 onclick 的值为 TestCheck()。而不是CheckAll。 更改您的 XPath 表达式,如下所示: xpath="//a[text()='CheckAll']" 或者这个: xpath="//a[contains(@onclick, 'TestCheck()')]"
我尝试在表(Webelement - Selenium)中查找特定按钮,但该按钮没有 ID 或其他内容。有人可以给我提示如何做到这一点吗? 在这个例子中我想要“C...